<!DOCTYPE html>
<title>Test navigator.keyboard.getLayoutMap()</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="resources/utils.js"></script>
<script src="/common/utils.js"></script>

<body>

<script>
promise_test(async () => {
  const keyboard_layout_key = token();

  attachFencedFrame(generateURL(
      "resources/navigator-keyboard-layout-map-inner.html",
      [keyboard_layout_key]));
  const actual_result = await nextValueFromServer(keyboard_layout_key);

  assert_equals(actual_result, "rejected",
      "The non-opaque fenced frame is not allowed to fetch keyboard map.");

}, "keyboard.getLayoutMap() from non-opaque fenced frame");

promise_test(async () => {
  const keyboard_layout_key = token();

  const urn = await generateURNFromFledge(
      "resources/navigator-keyboard-layout-map-inner.html",
      [keyboard_layout_key]);
  attachFencedFrame(urn);
  const actual_result = await nextValueFromServer(keyboard_layout_key);

  assert_equals(actual_result, "rejected",
      "The opaque fenced frame is not allowed to fetch keyboard map.");

}, "keyboard.getLayoutMap() from opaque fenced frame");
</script>

</body>
